(C) 1996 AROS - The Amiga Replacement OS


NAME
LONG IEEESPLog10()
SYNOPSIS

LONG y

LOCATION
In MathIeeeSingTransBase at offset 21
FUNCTION
Calculate logarithm (base 10) of the given IEEE single precision number

INPUTS
y
IEEE single precision number
RESULT
IEEE single precision number

flags: zero : result is zero negative : result is negative overflow : argument was negative

NOTES
EXAMPLE
BUGS
SEE ALSO
INTERNALS
ALGORITHM:

If the Argument is negative set overflow-flag and return 0. If the Argument is 0 return 0xffffffff.

All other cases:

(ld is the logarithm with base 2) (ln is the logarithm with base e) y = M * 2^E

ln y = ln ( M * 2^E ) =

= ln M + ln 2^E =

= ln M + E * ln (2) =

ld M ld 2 = ----- + E * ----- = [ld 2 = 1] ld 10 ld 10

ld M + E = -------- ld 10

ld 10 can be precalculated, of course. For calculating ld M see file intern_ieeespld.c

HISTORY
28.07.1997 bergers
Some bug-fixes and changes
27.07.1997 bergers
Initial revision - yet more math stuff!
25.07.1997 bergers
Initial Revision - Some more math stuff!